$(function () {

    for (var i = 0; i < localStorage.length; i++) {//拿到长度

        var kk = [];//定义数组
        if (localStorage.key(i).includes('id')) {//判断键是否包含id
            kk.push(localStorage.getItem(localStorage.key(i)));//有则,根据键拿到值,并添加到数组末尾
        }

        $.each(kk, function (v, i) {//遍历所有值
            var ko = indexjson[i].goodsList[0];//并根据值,获取数据
            var koy = $(`<div class="cart-item">
            <div class="shop">
              <div class="cart-checkbox" ectype="ckList">
                <input type="checkbox"  checked class="ui-checkbox ui-wi" />
              </div>
              <div class="shop-txt">
                <a href="https://x.dscmall.cn/merchants_store-3.html" class="shop-name" target="_blank">
                  <strong>${indexjson[i].brand}</strong>
                </a>
                <a id="IM" href="javascript:void(0);" ru_id="3" class="p-kefu">
                  <i class="iconfont icon-kefu"></i>
                </a>
              </div>
            </div>
            <div class="zhenghe">
              <div class="p-checkbox">
                <input type="checkbox"  checked class="j-checkbox j-che" />
              </div>
              <div class="p-goods">
                <div class="p-img">
                  <img src="${ko.Commodityurl}" alt="" />
                </div>
                <div class="p-msg">
                ${ko.gname}
                </div>
              </div>
              <div class="p-price">${ko.vipprice}</div>
              <div class="p-num">
                <div class="quantity-form">
                  <a href="javascript:;" class="decrement">-</a>
                  <input type="text" class="itxt" value="1" />
                  <a href="javascript:;" class="increment">+</a>
                </div>
              </div>
              <div class="p-sum">${ko.vipprice}</div>
              <div class="p-action">
                <a href="javascript:;">删除</a>
              </div>
            </div>
          </div>

        `)
            $('.cart-item-list').append(koy);

        })
    }

    initD();


    // 1. 全选 全不选功能模块
    // 就是把全选按钮的状态赋值给 三个小的按钮
    $(".checkall").change(function () {
        $(".j-checkbox,.ui-checkbox,.checkall").prop("checked", $(this).prop("checked"));

        console.log(1);
        if (this.checked == false) {
            $(this).parents('.cart-warp').find('.amount-sum em').text(0);//数量
            $(this).parents('.cart-warp').find('.price-sum em').text(0);//总价格
            $(this).parents('.c-container').prev().find('.gouwula a em').text('('+0+')');//总数量
        }else if(this.checked == true){
            getSum();
        }
    });
   
    //按钮二级联动
    $(".ui-wi").change(function () {
        $(this).parents('.shop').next().find('.j-che').prop("checked", $(this).prop("checked"));
    });
    $(".j-che").change(function () {
        $(this).parents('.zhenghe').prev().find('.ui-wi').prop("checked", $(this).prop("checked"));
    });

    // 2. 如果小复选框被选中的个数等于长度 就应该把全选按钮选上，否则全选按钮不选。
    $(".j-checkbox").change(function () {
        if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
            $(".checkall").prop("checked", true);
        } else {
            $(".checkall").prop("checked", false);
        }
    });

    $(".ui-checkbox").change(function () {
        if ($(".ui-checkbox:checked").length === $(".ui-checkbox").length) {
            $(".checkall").prop("checked", true);
        } else {
            $(".checkall").prop("checked", false);
        }
    });

    //初始化
    function initD() {
        if ($(".j-checkbox:checked").length === $(".j-checkbox").length) {
            $(".checkall").prop("checked", true);
        } else {
            $(".checkall").prop("checked", false);
        }
    }

    // 3. 增减商品数量模块 
    $(".increment").click(function () {//加
        // 得到当前兄弟文本框的值
        var n = $(this).siblings(".itxt").val();
        // console.log(n);
        n++;
        $(this).siblings(".itxt").val(n);
        // 3. 计算小计模块
        // 当前商品的价格 p  
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        // console.log(p);
        var price = (p * n).toFixed(2);
        // 小计模块 
        // toFixed(2)
        $(this).parents(".p-num").siblings(".p-sum").html("￥" + price);
        getSum();
    });

    $(".decrement").click(function () {//减
        // 得到当前兄弟文本框的值
        var n = $(this).siblings(".itxt").val();
        if (n == 1) {
            return false;
        }
        // console.log(n);
        n--;
        $(this).siblings(".itxt").val(n);
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        // console.log(p);
        // 小计模块 
        $(this).parents(".p-num").siblings(".p-sum").html("￥" + (p * n).toFixed(2));
        getSum();
    });

    //  4. 用户修改文本框的值 计算 小计模块  
    $(".itxt").change(function () {
        // 先得到文本框的里面的值 乘以 当前商品的单价 
        var n = $(this).val();
        // 当前商品的单价
        var p = $(this).parents(".p-num").siblings(".p-price").html();
        // console.log(p);
        p = p.substr(1);
        $(this).parents(".p-num").siblings(".p-sum").html("￥" + (p * n).toFixed(2));
        getSum();
    });
    // 5. 计算总计和总额模块
    getSum();

    //选中状态改变时
    $('.j-checkbox').change(function () {
        if (this.checked == false) {
            var su = $(this).parents('.zhenghe').find('.p-num').find('.itxt').val();//数量
            var dj = $(this).parents('.zhenghe').find('.p-sum').text().substr(1);//单价
            var zzz = $(this).parents('.cart-item-list').next().find('.price-sum em').text().substr(1);//总价格
            var zze = $(this).parents('.cart-item-list').next().find('.amount-sum em').text();//总数量
            // var zzw = $(this).parents('.c-container').prev().find('.gouwula a em').text();//上总数量

            $(".amount-sum em").text(Number(zze - su));//商品数量
            $(".gouwula a em").text('(' + Number(zze - su) + ')');//顶部商品数量
            $(".price-sum em").text("￥" + (zzz - dj * su).toFixed(2));//最终价格

        } else if (this.checked == true) {
            var su = $(this).parents('.zhenghe').find('.p-num').find('.itxt').val();//数量
            var dj = $(this).parents('.zhenghe').find('.p-sum').text().substr(1);//单价
            var zzz = $(this).parents('.cart-item-list').next().find('.price-sum em').text().substr(1);//总价格
            var zze = $(this).parents('.cart-item-list').next().find('.amount-sum em').text();//总数量
            // var zzw = $(this).parents('.c-container').prev().find('.gouwula a em').text();//上总数量

            $(".amount-sum em").text(Number(zze) + Number(su));//商品数量 赋值
            $(".gouwula a em").text('(' + (Number(zze) + Number(su)) + ')');//顶部商品数量
            $(".price-sum em").text("￥" + (Number(zzz) + dj * su));//最终价格
        }

    })
    function getSum() {
        var count = 0; // 计算总件数 
        var money = 0; // 计算总价钱
        $(".itxt").each(function (i, ele) {
            // console.log(ele);//数量
            count += parseInt($(ele).val());
        });
        $(".amount-sum em").text(count);   //实时变动 总商品
        $('.gouwula a em').text('(' + count + ')')// 实时变动 购物车

        $(".p-sum").each(function (i, ele) {
            // console.log(ele); 各个价格
            money += parseFloat($(ele).text().substr(1));
        });

        $(".price-sum em").text("￥" + money.toFixed(2));
    }

    // 6. 删除商品模块
    // (1) 商品后面的删除按钮
    $(".p-action a").click(function () {
        // 删除的是当前的商品 
        $(this).parents(".cart-item").remove();
        getSum();
    });
    // (2) 删除选中的商品
    $(".remove-batch").click(function () {
        // 删除的是小的复选框选中的商品
        $(".j-checkbox:checked").parents(".cart-item").remove();
        getSum();
    });
    // (3) 清空购物车 删除全部商品
    $(".clear-all").click(function () {
        $(".cart-item").remove();
        getSum();
    })
})